package com.wxx.最长公共前缀;

/**
 * @author: Jetwang
 * @date: 2022/3/26 21:34
 * @description: Solution  最长公共前缀
 * 编写一个函数来查找字符串数组中的最长公共前缀。
 * 如果不存在公共前缀，返回空字符串 ""。
 * @version: 1.0
 */
public class Solution {
    public static String longestCommonPrefix(String[] strs) {
        if (strs.length == 0) {
            return "";
        }
        // 取第一个字符串为基础公共前缀
        String res = strs[0];
        for (int i = 1; i < strs.length; i++) {
            int j = 0;
            for (; j < res.length() && j < strs[i].length(); j++) {
                // 一旦字符不等，则前缀匹配结束
                if (res.charAt(j) != strs[i].charAt(j)) {
                    break;
                }
            }
            // 取出公共前缀
            res = res.substring(0, j);
            // 一旦公共前缀为空字符,则结束
            if (res.equals("")) {
                return res;
            }
        }
        return res;
    }

    public static void main(String[] args) {
        String[] strs = {"flower", "flow", "flight"};
        String str = longestCommonPrefix(strs);
        System.out.println(str);
    }
}
